package cn.tedu.ivos.vehicle.pojo.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

@Data
public class VehicleSaveParam {
    @Schema(description = "车辆id")
    private Long id; // 车辆id
    @Schema(description = "车辆品牌")
    @NotBlank(message = "车辆品牌不能为空")
    private String brand; // 车辆品牌
    @Schema(description = "车辆车牌")
    @NotBlank(message = "车辆车牌不能为空")
    private String license; // 车牌号
    @Schema(description = "车辆型号")
    @NotBlank(message = "车辆型号不能为空")
    private String model; // 车辆型号
    @Schema(description = "车辆识别码")
    @NotBlank(message = "车辆识别码不能为空")
    private String code; // 车辆识别码
    @Schema(description = "车辆排量")
    @NotBlank(message = "车辆排量不能为空")
    private String displacement; // 车辆排量
    @Schema(description = "车辆类型")
    @NotBlank(message = "车辆类型不能为空")
    private String type; // 车辆类型
    @Schema(description = "车辆颜色")
    @NotBlank(message = "车辆颜色不能为空")
    private String color; // 车辆颜色
    @Schema(description = "车辆里程数")
    @NotBlank(message = "车辆里程数不能为空")
    private String kilometers; // 车辆里程数
    @Schema(description = "车辆上牌时间")
    @NotBlank(message = "车辆上牌时间不能为空")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date regTime; // 车辆上牌时间
    @Schema(description = "车辆购买时间")
    @NotBlank(message = "车辆购买时间不能为空")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date buyTime; // 车辆购买时间
    @Schema(description = "车辆价格")
    @NotBlank(message = "车辆价格不能为空")
    private String price; // 车辆购买价格
    @Schema(description = "车辆电池类型")
    @NotBlank(message = "车辆电池类型不能为空")
    private String batteryType; // 车辆电池类型
    @Schema(description = "车辆电子围栏绑定状态")
    private String geofenceBindStatus; // 电子围栏绑定状态：0未绑定围栏 1已绑定围栏
    @Schema(description = "车辆电子围栏id")
    private Long geofenceId; // 电子围栏id
}
